Smart devices and entertainment electronics for home and travel increasingly communicate with each other over networks. These electronic devices, which have in the past relied only on conventional communication with a server, are now becoming proficient at real-time communication with each other in unconventional ways over a myriad of networks. Sometimes a server is not needed in the peer-to-peer communications between electronic devices, and at other times one of the peers assumes the role of a server in a peer-as-server communication.
More types of home and office electronic devices are joining the ranks of consumer electronics that can communicate with each other over a network. For example, a media server in the basement of a home may record and distribute media content to other intelligent devices in the home. A user may remotely communicate with the home media server from a friend's house or from a cell phone using a wireless network to control recording of a program. Handheld devices such as cell phones and personal digital assistants (PDAs) increasingly communicate with each other in real-time over the Internet. Two PDAs with video cameras may exchange real-time video content the wireless Internet connection or, two friends in different cities may choose to watch a movie together by simultaneously viewing the movie and sharing real-time chat during the movie. Online computer games also increasingly use real-time peer-to-peer and peer-as-server interaction. Massively multiplayer (MMP) games, for example, comprise one of the fastest growing markets, with some “cult” MMP games attracting several hundred thousand simultaneous players at any given time. Many online games feature simultaneous real-time chat between players.
Many of these electronic devices that communicate with each other in real-time use diverse network connections, configurations, and protocols. These networks, however, have some undesirable characteristics. For example, wireless networks typically have a notoriously high packet loss rate. Yet developers of the hardware and software for these communicating electronic devices often use local area networks (LANs) during product development that have ideal characteristics. This is usually an unintended circumstance and happens because LANs and virtual local area networks (VLANs) available in software development labs are usually small and the finest available, i.e., stable, dependable, and free from external interferences. Further, networks that more closely resemble the real-world and real-time peer-to-peer and peer-as-server environments in which the electronic devices will eventually be used are sometimes difficult to construct in the development lab. For example, some network administrators deny server access to software and hardware under development. Thus, developers need a way to test hardware and software for the electronic devices against an almost unlimited variety of realistic network conditions and configurations without leaving the lab. Moreover, the developers may need to test completely new network conditions and types of network adversity that may arise with new products, and may need to perform the tests on a multiplicity of network architectures.